#ifndef _UUID_H_
#define _UUID_H_
#include "common/type.h"

#define USTD_UUID_BYTE 16

namespace UCore
{
    struct uuid_t
    {
        uint32 data[USTD_UUID_BYTE];
    };
    UCore::uuid_t GenerateUUID();
    uBoolean IsValidUUID(const UCore::uuid_t &uuid);
    
}

uBoolean operator==(const UCore::uuid_t &id1, const UCore::uuid_t &id2);
uBoolean operator!=(const UCore::uuid_t &id1, const UCore::uuid_t &id2);
uBoolean operator!(const UCore::uuid_t& uuid);

uString toString(const UCore::uuid_t& uuid);

#endif